跳到主要内容

Mybatis Plus开发规范

开发标准格式

  • infra
    • dao
      • mapper
        • OrderMapper.java
      • impl
        • OrderDAOImpl.java OrderDAO.java
    • entity
      • OrderDO.java

具体的代码如下:

  • OrderDO
@Data
public class OrderDO {

}
  • OrderMapper
@Mapper
public interface OrderMapper extends BaseMapper<OrderDO> {
}
  • OrderDAO
public interface OrderDAO extends IService<OrderDO> {
}
  • OrderDAOImpl
@Repository
@RequiredArgsConstructor
public class OrderDAOImpl extends ServiceImpl<OrderMapper, OrderDO> implements OrderDAO {

private final InfluhubOrderMapper influhub_orderMapper;
}

目的

主要是不要将ServiceImpl暴露到Servcie

这样做的好处是

  1. 可以将所有数据库查询操作封装在DAO层
  2. 以后需要做数据库相关的改造封装,仅需关注DAO

如果由Servcie直接继承ServiceImpl,会出现如下问题

  1. 大量SQL查询逻辑写在Service层,无法复用
  2. Service层更应关注业务逻辑处理,而不是数据查询条件构建
  3. 后续需要对SQL进行拦截改写,Servcie直接继承ServiceImpl调用ServiceImpl无法添加注解进行AOP切面拦截,因为ServiceImpl的方法在jar中